package com.qiangshi.tasks.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.qiangshi.common.annotation.Excel;
import com.qiangshi.common.core.domain.BaseEntity;

/**
 * 项目任务对象 qs_project_tasks
 *
 * @author qiangshi
 * @date 2022-02-12
 */
public class QsProjectTasks extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 任务编号 */
    @Excel(name = "任务编号")
    private String tasksNum;

    /** 任务标题 */
    @Excel(name = "任务标题")
    private String tasksName;

    /** 发布者ID */
    @Excel(name = "发布者ID")
    private Long publisherId;
    /** 发布者ID */
    @Excel(name = "发布者名称")
    private String publisherName;

    /**认领者ID */
    @Excel(name = "认领者ID")
    private Long claimerId;
    /** 认领者ID */
    @Excel(name = "认领者名称")
    private String claimerName;

    /** 任务内容 */
    @Excel(name = "任务内容")
    private String tasksContent;

    /** 认领类型 */
    @Excel(name = "认领类型")
    private Integer isMany;

    /** 任务状态 */
    @Excel(name = "任务状态")
    private Integer tasksType;

    /** 发布积分 */
    @Excel(name = "发布积分")
    private Integer releaseScore;

    /** 认领积分 */
    @Excel(name = "认领积分")
    private Integer claimScore;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date completionTime;
    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date releaseTime;

    /** 任务图片 */
    @Excel(name = "任务图片")
    private String tasksImg;
    /** 任务进度 */
    @Excel(name = "任务进度")
    private Integer progressNum;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setTasksNum(String tasksNum)
    {
        this.tasksNum = tasksNum;
    }

    public String getTasksNum()
    {
        return tasksNum;
    }
    public void setTasksName(String tasksName)
    {
        this.tasksName = tasksName;
    }

    public String getTasksName()
    {
        return tasksName;
    }
    public void setPublisherId(Long publisherId)
    {
        this.publisherId = publisherId;
    }

    public Long getPublisherId()
    {
        return publisherId;
    }
    public void setTasksContent(String tasksContent)
    {
        this.tasksContent = tasksContent;
    }

    public String getTasksContent()
    {
        return tasksContent;
    }
    public void setIsMany(Integer isMany)
    {
        this.isMany = isMany;
    }

    public Integer getIsMany()
    {
        return isMany;
    }
    public void setTasksType(Integer tasksType)
    {
        this.tasksType = tasksType;
    }

    public Integer getTasksType()
    {
        return tasksType;
    }
    public void setReleaseScore(Integer releaseScore)
    {
        this.releaseScore = releaseScore;
    }

    public Integer getReleaseScore()
    {
        return releaseScore;
    }
    public void setClaimScore(Integer claimScore)
    {
        this.claimScore = claimScore;
    }

    public Integer getClaimScore()
    {
        return claimScore;
    }
    public void setCompletionTime(Date completionTime)
    {
        this.completionTime = completionTime;
    }

    public Date getCompletionTime()
    {
        return completionTime;
    }
    public void setTasksImg(String tasksImg)
    {
        this.tasksImg = tasksImg;
    }

    public String getTasksImg()
    {
        return tasksImg;
    }

    public String getPublisherName() {
        return publisherName;
    }

    public void setPublisherName(String publisherName) {
        this.publisherName = publisherName;
    }

    public Long getClaimerId() {
        return claimerId;
    }

    public void setClaimerId(Long claimerId) {
        this.claimerId = claimerId;
    }

    public String getClaimerName() {
        return claimerName;
    }

    public Date getReleaseTime() {
        return releaseTime;
    }

    public void setReleaseTime(Date releaseTime) {
        this.releaseTime = releaseTime;
    }

    public void setClaimerName(String claimerName) {
        this.claimerName = claimerName;
    }

    public Integer getProgressNum() {
        return progressNum;
    }

    public void setProgressNum(Integer progressNum) {
        this.progressNum = progressNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("tasksNum", getTasksNum())
            .append("tasksName", getTasksName())
            .append("createTime", getCreateTime())
            .append("publisherId", getPublisherId())
            .append("tasksContent", getTasksContent())
            .append("isMany", getIsMany())
            .append("tasksType", getTasksType())
            .append("releaseScore", getReleaseScore())
            .append("claimScore", getClaimScore())
            .append("completionTime", getCompletionTime())
            .append("tasksImg", getTasksImg())
            .toString();
    }
}
